Câu 1: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[] = {2,1}; printf("%d", *a); return 0; } - 0 - 1 * 2 - Lỗi biên dịch Câu 2: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[]={10,20,30}; printf("%d",*a+1); return 0; } - 10 - 20 * 11 - 21 Câu 3: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[] = {1,6,3,5,8,4}, *p = a; printf("%d", *p); return 0; } * 1 - 6 - 3 - Lỗi biên dịch Câu 4: Câu lệnh a=(int*)malloc(n*sizeof(int)); trong chương trình bên dưới dùng để làm gì? #include int main() { int *a, n; printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(n*sizeof(int)); return 0; } - Cấp phát bộ nhớ có kích thước bằng n (với n được nhập từ bàn phím) - Nhập một số nguyên từ bàn phím và lưu vào biến n - Cấp phát bộ nhớ có kích thước bằng kích thước kiểu int * Cấp phát bộ nhớ cho con trỏ a quản lý có kích thước bằng n* kích thước kiểu int (với n được nhập từ bàn phím) Câu 5: Trong ngôn ngữ lập trình C, chương trình sau dùng để làm gì? #include int main() { int a[]={1,3,7,2,4}, *p=a, n=5; for(int i=0; i int main() { int *a, n; printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(n*sizeof(int)); ……… return 0; } - for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, kq=1; for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,5}, n=4, *p=a, kq; kq=*p; for(int i=1; i kq) kq=*(p+i); printf(“%d”, kq); return 0; } - 1 - 3 - 5 * 7 Câu 10: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[]={1,3,7,5}, n=4, *p=a, kq; kq=*p; for(int i=1; i int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; printf("%d", *a); return 0; } - {1,2,3} * Địa chỉ phần tử đầu tiên của mảng a - 4 - Lỗi biên dịch Câu 12: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p = a; printf("%d", *p); return 0; } - {1,2,3} - 1 - {4,5,6} * Lỗi biên dịch (Compiler error) Câu 13: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p; p=*a; printf("%d", *(p+1*3+2)); return 0; } - 5 * 6 - 7 - 8 Câu 14: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p; p=*a; printf("%d", *(p+0*3+1) +2); return 0; } - 3 * 4 - 5 - 6 Câu 15: Chương trình sau dùng để làm gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a; for(int i=0; i<3; i++) { printf(“\n”); for(int j=0; j<3; j++) printf(“%3d”, *(p+i*3+j)); } return 0; } - Nhập mảng 2 chiều a gồm 3*3 phần tử (3 dòng, 3 cột) * Xuất mảng 2 chiều a gồm 3*3 phần tử (3 dòng, 3 cột) - Tính tổng các phần tử trong mảng 2 chiều a gồm 3*3 phần tử (3 dòng, 3 cột) - Tính tích các phần tử trong mảng 2 chiều a gồm 3*3 phần tử (3 dòng, 3 cột) Câu 16: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a; for(int i=0; i<3; i++) { printf(“\n”); for(int j=0; j<3; j++) printf(“%3d”, *(p+i*3+j)); } return 0; } * 1 2 3 4 5 6 7 8 9 - 7 8 9 4 5 6 1 2 3 - 0 1 2 0 1 2 0 1 2 * 1 2 3 4 5 6 7 8 9 Câu 17: Chương trình sau dùng để làm gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=1; for(int i=0; i<3; i++) for(int j=0; j<3; j++) kq*= *(p+i*3+j); printf(“Ket qua=%d”, kq); return 0; } - Tính tổng tất cả phần tử trong mảng hai chiều a * Tính tích tất cả phần tử trong mảng hai chiều a - Đếm xem có bao nhiêu phần tử trong mảng hai chiều a - Xuất giá trị các phần tử trong mảng hai chiều a Câu 18: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {1,0,1}, {2,0,4}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; ikq) kq=*(p+i*n+j); printf(“%d”, kq); return 0; } - 1 - 14 * 4 - 48 Câu 19: Hãy điền vào dấu “………” để hoàn chỉnh chương trình nhập vào mảng 2 chiều a có m*n phần tử. #include int main() { int *a, m, n; printf(“m=”); scanf(“%d”, &m); printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(m*n*sizeof(int)); ……… return 0; } - for(int i=0; i int main() { int a[3][3] = {{7,8,9}, {4,5,6}, {1,2,3}}; int *p =*a, m=3, n=3; ……… return 0; } - for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1, 9, 4, 3 ,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,5}, n=4, *p=a, i, j; for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, x; printf(“Nhap x=”); scanf(“%d”, &x); ……….. return 0; } - for(int i=0; i int main() { int a[]={1,3,-7,2,4}, *p=a, n=5, ; int kq=0; ………. if(kq==n) printf(“Mang toan so duong”); else printf(“Mang khong toan so duong”); return 0; } - for(int i=0; i0) kq++; - for(int i=0; i0) kq++; - for(int i=0; i=0) kq++; * for(int i=0; i0) kq++; Câu 28: Hãy điền vào dấu “…….” để hoàn chỉnh chương trình kiểm tra xem mảng a có chứa toàn số chẵn hay không? #include int main() { int a[]={1,3,-7,2,4}, *p=a, n=5, ; int kq=0; ………. if(kq==n) printf(“Mang toan so chan”); else printf(“Mang khong toan so chan”); return 0; } - for(int i=0; i int main(){ int a[3][3] = {{1,2,-3}, {-4,5,0}, {2,0,1}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {12,0,1}, {6,8,4}}; int *p =*a, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, k=1; for(int i=0; i<3; i++) for(int j=0; j<3; j++) if(i==k) kq+= *(p+i*3+j); printf(“%d”, kq); return 0; } * 15 - 45 - 6 - 0 Câu 32: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{0,2,3}, {-4,5,3}, {2,6,1}}; int *p =*a, kq=1, m=3, n=3, k=2; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p = *a; printf("%d", *p); return 0; } - {1,2,3} * 1 - {4,5,6} - Lỗi biên dịch (Compiler error) Câu 34: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int KTNT(int x){ int dem=0; for(int i=1; i<=x; i++) if(x%i==0) dem++; if(dem==2) return 1; else return 0;} int main(){ int a[]={-4,2,7,5,-10,8,6}, n=7, *p=a; for(int i=0; i int main(){ int a[]={3,4,1,5,6,2}, n=6, *p=a, i, j; for(int i=0; i*(p+j)) { int temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } } for(i=0; i int KTNT(int x) { int dem=0; for(int i=1; i<=x; i++) if(x%i==0) dem++; if(dem==2) return 1; else return 0; } int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=1, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; ikq) kq=*(p+i*n+j); printf(“%d”, kq); return 0; } - 1 * 7 - 3 - 9 Câu 40: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{7,8,9}, {4,5,6}, {1,2,3}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; i int main() { int a[] = {1,2}, *p = a; printf("%d", p[1]); return 0; } - 1 * 2 - Lỗi thực thi (Runtime error) - Lỗi biên dịch (Compiler error) Câu 42: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[] = {1,6,3,5,8,4}, *p = a; printf("%d", *(p+3)); return 0; } - 3 * 5 - 4 - 6 Câu 43: Trong ngôn ngữ lập trình C, chương trình sau dùng để làm gì? #include int main() { int *a, n; printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(n*sizeof(int)); for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5; ………. return 0; } - for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=1; for(int i=0; i int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; printf("%d", *(*a+3)); return 0; } - {1,2,3} - 3 * 4 - {7,8,9} Câu 47: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p = *a; printf("%d", p); return 0; } - {1,2,3} - 1 - {4,5,6} * Địa chỉ phần tử đầu tiên của mảng a Câu 48: Chương trình sau dùng để làm gì? #include int main() { int *a, m, n; printf(“m=”); scanf(“%d”, &m); printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(m*n*sizeof(int)); for(int i=0; i int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0; for(int i=0; i<3; i++) for(int j=0; j<3; j++) kq+= *(p+i*3+j); printf(“Ket qua=%d”, kq); return 0; } * Tính tổng tất cả phần tử trong mảng hai chiều a - Tính tích tất cả phần tử trong mảng hai chiều a - Đếm xem có bao nhiêu phần tử trong mảng hai chiều a - Xuất giá trị các phần tử trong mảng hai chiều a Câu 50: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {1,0,1}, {2,0,4}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={2,3,7,2,5}, *p=a, n=5, kq=1; for(int i=0; i int main() { int a[]={1,3,7,5}, n=4, *p=a, i, j; for(int i=0; i*(p+j)){ int temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } for(i=0; i int main() { int a[]={-4,2,7,5,-10,8,6}, n=7, *p=a; for(int i=0; i0) printf(“%3d”, *(p+i)); return 0; } - -4 2 -10 8 6 * 2 8 6 - 2 7 5 8 6 - -4 2 7 5 -10 8 6 Câu 55: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,-3}, {-4,5,0}, {2,0,1}}; int *p =*a, kq=1, m=3, n=3; for(int i=0; i0) kq*= *(p+i*n+j); printf(“%d”, kq); return 0; } - 0 - 1 * 20 - 240 Câu 56: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{1,2,3}, {12,0,1}, {6,8,4}}; int *p =*a, m=3, n=3, x=1; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0; for(int i=0; i<3; i++) for(int j=0; j<3; j++) if(*(p+i*3+j) %2 !=0) kq+= *(p+i*3+j); printf(“%d”, kq); return 0; } - 45 * 25 - 20 - 0 Câu 58: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int KTSHH(int x) { int s=0; for(int i=1; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0; for(int i=0; i<3; i++) for(int j=0; j<3; j++) if(i==j) kq+= *(p+i*3+j); printf(“%d”, kq); return 0; } - 0 - 45 - 26 * 15 Câu 60: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main() { char*s ="C++"; printf("%s ", s); s++; printf("%s", s); return 0; }                                                                                                           A. C++C++ - C++C++ * C++++ - ++++ - Lỗi biên dịch Câu 70: Cho khai báo sau: char S[20]=”aaaaaea”; char* p=strstr(S,”e”); Giả sử địa chỉ của S là 1000, thì giá trị của p là bao nhiêu? - 1000 * 1005 - 1004 - 1003 Câu 71: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include #include int main() { char s[20]="Hello\0Hi"; printf("%d %d", strlen(s),sizeof(s)); return 0; } - 5 9 - 7 20 * 5 20 - 8 20 Câu 72: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() {char*s ="Hello, " "World!"; printf("%s", s); return 0; } * Hello, World! * Hello, World! - Hello - Lỗi biên dịch Câu 73: Trong ngôn ngữ lập trình C, đặt ptr là con trỏ kiểu int trỏ đến địa chỉ FFF4 (giả sử kiểu int có kích thước 2 byte). Sau khi thực hiện câu lệnh ptr=ptr+3; thì con trỏ ptr sẽ trỏ đến địa chỉ nào? - FFF6 - FFF8 * FFFA - FFFC Câu 74: Trong ngôn ngữ lập trình C, đặt ptr là con trỏ kiểu int trỏ đến địa chỉ FFF4 (giả sử kiểu int có kích thước 2 byte). Sau khi thực hiện câu lệnh ptr=ptr-2; thì con trỏ ptr sẽ trỏ đến địa chỉ nào? * FFF0 - FFF1 - FFF2 - FFF3 Câu 75: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int *p = 15; printf("%d",*p); return 0; } - 15 - Giá trị rác - Địa chỉ của vùng nhớ * Lỗi biên dịch (Compiler error) Câu 76: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 5; int *p; p=&x; x++; printf("%d",*p); return 0; } - Lỗi biên dịch (Compiler error) - 5 * 6 - Giá trị rác Câu 77: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char c=’a’; char *p; p=&c; printf("%c",*p); return 0; } - c * a - p - Địa chỉ của c Câu 78: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a, *p; a=5; p=&a; (*p)++; printf("%d",a); return 0; } - 5 * 6 - 7 - 8 Câu 79: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a, *p; a=15; p=&a; a=a*2; *p=*p-10; printf("%d",a); return 0; } - 15 - 30 * 20 - 5 Câu 80: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 10, *p = &x; int y=20, *q=&y; int *r = p; *r += *q; printf("%d",*r); return 0; } - Lỗi biên dịch (Compiler error) - 10 - 20 * 30 Câu 81: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char*s ="Hello"; printf("%c",*s++); return 0; } - Hello * H - e - Lỗi biên dịch Câu 82: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ char*s ="Hello"; while(*s!=NULL) printf("%c",*s++); return 0; } * Hello - Helloellolloloo - ello - Lỗi biên dịch Câu 83: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char *s=”Hellen”; char *p=s; char c=*(p+3); printf(“%c”,c); return 0; } - H - e * l - n Câu 84: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char *s; char str[] = "Welcome"; s = str; while(*s) printf("%c", *s++); return 0; } * Welcome - Wel - W - Lỗi biên dịch Câu 85: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 65, *p = &x; int *q=p; char *r=q; printf("%c",*r); return 0; } * Lỗi biên dịch (Compiler error) - A - 65 - Kí tự rác Câu 86: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     change(int *v); int main() {          int var = 5; change(&var); printf("%d", var); return 0; } void     change(int *v) {          (*v) = (*v) * 100; } - 5 * 500 - 0 - Địa chỉ của var Câu 87: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     hoanvi(int a, int b); int main() { int a=5, b=7; hoanvi(a, b); printf("%3d %3d”, a, b); return 0; } void     hoanvi(int a, int b) {          int temp=a; a=b; b=temp; } - 5 5 * 5 7 - 7 5 - 7 7 Câu 88: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     change(int *a, int b); int main() { int a = 5, b=10; change(&a, b); printf("%3d %3d", a, b); return 0; } void     change(int *a, int b) {          (*a) = (*a) +20; b=b+(*a); } - 5 10 * 25 10 - 25 35 - 5 35 Câu 89: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" #include "stdlib.h" void myfunc (char* param) { ++param; printf("%s\n", param); } int main() { char* string = (char*)malloc(64); strcpy(string, "hello_World"); myfunc(string); return 0; } - hello_World * ello_World - llo_World - lo_World Câu 90: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? int xstrlen(char* s) { int length =0; while(*s!='\0') { length++; s++; } return(length); } int main() { char d[]="Hello All"; printf(" %d", xstrlen(d)); return 0; } - 5 * 9 - 3 - Lỗi biên dịch Câu 91: Hàm nào dùng để cấp phát bộ nhớ động trong ngôn ngữ lập trình C? - memalloc() và alloc() - malloc()vàmemalloc() * malloc()vàcalloc() - memalloc()vàcalloc() Câu 92: Trong chương trình sau, câu lệnh nào gây ra thông báo lỗi khi chạy (Run) chương trình trong ngôn ngữ lập trình C? #include int main() { int a, *p; //Lệnh 1 a=5; //Lệnh 2 p=a; //Lệnh 3 printf("%d",*p); //Lệnh 4 return 0; } - Lệnh 1 - Lệnh 2 * Lệnh 3 - Lệnh 4 Câu 93: Trong ngôn ngữ lập trình C, để lấy địa chỉ của một biến được quản lý bởi con trỏ a, ta dùng cú pháp gì? * a; - *a; - &a; - address(a); Câu 94: Trong ngôn ngữ lập trình C, đặt ptr là con trỏ kiểu int trỏ đến địa chỉ FFF4 (giả sử kiểu int có kích thước 2 byte). Sau khi thực hiện câu lệnh ptr--; thì con trỏ ptr sẽ trỏ đến địa chỉ nào? - FFF0 - FFF1 * FFF2 - FFF3 Câu 95: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" #include "stdlib.h" int main() { char str[] = {"pvpit"}; char*s1 = str; s1++; printf("%c", *s1); return 0; } - pvpit - vpit * v - pit Câu 96: Hàm nào trả về một con trỏ đến vị trí xuất hiện sau cùng của một ký tự trong một chuỗi? - stchar() * strrchr() - strchar() - strrchar() Câu 97: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { unsigned x = 5, *y=&x, *p = y+0; printf("%u",*p); return 0; } - Địa chỉ của x - Địa chỉ của y - Địa chỉ của p * 5 Câu 98: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 15, *p = &x; int *q=p; x=x+5; printf("%d",*q); return 0; } - 15 * 20 - Lỗi biên dịch (Compiler error) - Giá trị rác Câu 99: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a, *p; a=5; p=&a; a++; *p=*p +2; printf("%d",*p); return 0; } - 5 - 6 - 7 * 8 Câu 100: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 10, *p = &x; int y=20, *q=&y; int *r = p +5; r = q; *r += 5; printf("%d",*r); return 0; } - 10 - 15 - 20 * 25 Câu 101: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include #include #include int main() { char*ptr1 = NULL; char*ptr2 = 0; strcpy(ptr1, "c"); strcpy(ptr2, "questions"); printf("\n%s %s", ptr1, ptr2); return 0; } - NULL - 0 - c questions * Lỗi thực thi Câu 102: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" #include "stdlib.h" void myfunc(char* param) { ++param; } int main()) { char* string = (char*)malloc(64); strcpy(string, "hello_World"); myfunc(string); printf("%s", string); return 0; } * hello_World - ello_World - llo_World - lo_World Câu 103: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     hoanvi(int *a, int *b); int main() { int x=5, y=7; hoanvi(&x, &y); printf("%3d %3d”, x, y); return 0; } void     hoanvi(int *a, int *b) {          int temp=*a; *a=*b; *b=temp; } - 5 7 - 5 5 - 7 7 * 7 5 Câu 104: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     change(int a, int *b); int main() { int a = 5, b=10; change(a, &b); printf("%3d %3d", a, b); return 0; } void     change(int a, int *b) { a = a * 2; *b=*b+a; } - 20 20 - 10 10 * 5 20 - 5 10 Câu 105: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" int main() { char* s1 = “Hello WorlHello All!”; char* s2 = “Hello”; int kq=0; char* p=strstr(s1,s2); while(p!=NULL) { kq++; p++; p=strstr(p,s2); } printf(“%d”, kq); return 0; } - 0 - 1 * 2 - Lỗi biên dịch Câu 106: Cho khai báo sau: typedef struct PS{ int tuso, mauso; }; PS *p; Để truy xuất thành phần tử số (tuso) thông qua con trỏ p, ta dùng cú pháp gì? - p.tu; - p>tu; - p-tu; * p->tu; Câu 107: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include typedef struct ST{ int d1,d2,d3;}; ST v= {5, 6, 7}; ST* p=&v; int main() { p->d3=9; printf("%d", v.d3); return 0; } * 9 - 7 - 5 - Lỗi biên dịch Câu 108: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include #include typedef struct SV { float d; char ht[10]; }; int main() { SV m, *p; p=&m; m.d=7; (*p).d=10; strcpy(m.ht,"NguyenVanTuan"); printf("%0.1f",m.d); printf("%s",m.ht); return 0; } - 10.00000NguyenVanTuan - 7.0NguyenVanTuan * 10.0NguyenVanTuan - Lỗi biên dịch Câu 109: Hãy điền vào dấu “………….” để hoàn chỉnh chương trình khởi tạo thông tin cho một biến kiểu BOOKS? #include #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { strcpy( Book1->title, "C Programming"); strcpy( Book1->author, "Nuha Ali"); Book1->book_id = 649; } int main() { BOOKS p; ……………….. return 0; } - setBooks(p); * setBooks(&p); - setBooks(*p); - setBooks(p[]); Câu 110: Cho khai báo kiểu BOOKS như sau: typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; Hàm void printBooks(BOOKS b); có chức năng xuất các thông tin của đối tượng b. Hãy chọn định nghĩa đúng cho hàm printBooks? * void printBooks(BOOKS b) {printf("Title:%s\n", b.title); printf("Author:%s\n", b.author); printf("Id:%d\n",b.book_id); } - void printBooks(BOOKS b) {printf("Title:%s\n", b->title); printf("Author:%s\n", b>author); printf("Id:%d\n",b->book_id); } - void printBooks(BOOKS b) {printf("Title:%s\n", *b.title); printf("Author:%s\n", *b.author); printf("Id:%d\n",*b.book_id); } - void printBooks(BOOKS b) {printf("Title:%s\n", *b->title); printf("Author:%s\n", *b >author); printf("Id:%d\n",*b->book_id); } Câu 111: Hãy điền vào dấu “………….” để hoàn chỉnh chương trình nhập thông tin cho n phần tử kiểu BOOKS? #include #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { fflush(stdin); printf(“Title:”); gets( Book1->title); printf(“Author:”); gets( Book1->author); printf(“Book Id:”); scanf(“%d”,&(Book1->book_id)); } int main() { int i, n=5; BOOKS ds[5]; for(i=0; i #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { fflush(stdin); printf(“Title:”); gets( Book1->title); printf(“Author:”); gets( Book1->author); printf(“Book Id:”); scanf(“%d”,&(Book1->book_id)); } void printBooks(BOOKS b) { printf("Title:%s\n", b.title); printf("Author:%s\n", b.author); printf("Id:%d\n",b.book_id); } int main() { int i, n=5; BOOKS ds[5]; for(i=0; iyear = 2016; - a->birthday.year = 2016; - a->birthday->year = 2016; Câu 114: Cho khai báo sau: typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; Giả sử có hàm void printBooks(BOOKS b); sẽ in ra thông tin của một quyển sách. Giả sử hàm void Search(BOOKS ds[], int n); có chức năng tìm trong mảng ds gồm có n quyển sách xem có quyển sách nào do tác giả “Dennis” viết không. Nếu có thì xuất thông tin của quyển sách tìm được. Hãy chọn định nghĩa đúng cho hàm Search? - void Search(BOOKS ds[], int n) { for(int i=0; i #include #include typedef struct DATE { int day, month, year;}; typedef struct STUDENT { int student_id; char fullname[50]; DATE birthday; }; void setStudent(STUDENT *a) { scanf(“%d”, &(a->student_id)); fflush(stdin); gets(a->fullname); scanf(“%d”, &(a->birthday.day)); scanf(“%d”, &(a->birthday.month)); scanf(“%d”, &(a->birthday.year)); } int main() { int i, n=5; STUDENT *ds; ds=(STUDENT*) malloc (n*sizeof(STUDENT)); for(i=0; i #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { strcpy( Book1->title, "C Programming"); strcpy( Book1->author, "Nuha Ali"); Book1->book_id = 649; } int main(){ BOOKS *p; p=(BOOKS*)malloc(sizeof(BOOKS)); ……………….. return 0; } * setBooks(p); - setBooks(&p); - setBooks(*p); - setBooks(p[]); Câu 118: Cho khai báo kiểu BOOKS như sau: typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; Hàm void printBooks(BOOKS *b); có chức năng xuất các thông tin của đối tượng b. Hãy chọn định nghĩa đúng cho hàm printBooks? - void printBooks(BOOKS *b) {printf("Title:%s\n", b.title); printf("Author:%s\n", b.author); printf("Id:%d\n",b.book_id); } * void printBooks(BOOKS *b) {printf("Title:%s\n", b->title); printf("Author:%s\n", b->author); printf("Id:%d\n",b->book_id); } - void printBooks(BOOKS *b) {printf("Title:%s\n", (*b)->title); printf("Author:%s\n", (*b)>author); printf("Id:%d\n",(*b)->book_id); } - void printBooks(BOOKS *b) {printf("Title:%s\n", title->b); printf("Author:%s\n", author->b); printf("Id:%d\n",book_id->b); } Câu 119: Cho khai báo sau: typedef struct DATE{ int day, month, year; }; typedef struct STUDENT { int student_id; char fullname[50]; DATE birthday; }; STUDENT *a; Hãy chọn đáp án đúng? - a.birthday.day=10; - a.birthday->day=10; * a->birthday.day=10; - a->birthday->day=10; Câu 120: Cho khai báo sau: typedef struct DATE { int day, month, year; }; typedef struct STUDENT { int student_id; char fullname[50]; DATE birthday; }; Hàm void setStudent(STUDENT *a); có chức năng nhập thông tin cho a thuộc kiểu STUDENT. Hãy chọn định nghĩa đúng cho hàm setStudent? - void setStudent(STUDENT *a) {scanf(“%d”, &(a->student_id)); gets(a->fullname); scanf(“%d”, &(a->day)); scanf(“%d”, &(a-> month)); scanf(“%d”, &(a-> year)); } * void setStudent(STUDENT *a) {scanf(“%d”, &(a->student_id)); gets(a->fullname); scanf(“%d”, &(a->birthday.day)); scanf(“%d”, &(a->birthday.month)); scanf(“%d”, &(a->birthday.year)); } - void setStudent(STUDENT *a) {scanf(“%d”, &(a->student_id)); gets(a->fullname); scanf(“%d”, &(a.day)); scanf(“%d”, &(a.month)); scanf(“%d”, &(a.year)); } - void setStudent(STUDENT *a) {scanf(“%d”, &(a->student_id)); gets(a->fullname); scanf(“%d”, &(a->birthday->day)); scanf(“%d”, &(a->birthday->month)); scanf(“%d”, &(a->birthday->year)); } Câu 121: Hàm fopen với chế độ “r+” sẽ mở tập tin để * Đọc và ghi - Đọc và ghi bổ sung nội dung mới - Chỉ đọc - Chỉ ghi Câu 122: Dấu hiệu nào là đúng khi dùng hàm fopen() để mở tập tin đã tồn tại, ghi bổ sung theo kiểu văn bản? - f=fopen("a.txt",”r+t”); - f=fopen("a.txt",”r+b”); * f=fopen("a.txt",”a+t”); - f=fopen("a.txt",”a+b”); Câu 123: Dấu hiệu nào là đúng khi dùng hàm fopen() để mở tập tin đã tồn tại để đọc theo kiểu nhị phân? - f=fopen("a.txt",”rt”); * f=fopen("a.txt",”rb”); - f=fopen("a.txt",”r+t”); - f=fopen("a.txt",”r+b”); Câu 124: Dấu hiệu nào là đúng khi dùng hàm fopen() để mở tập tin đã tồn tại để đọc và ghi theo kiểu nhị phân? - f=fopen("a.txt",”rt”); - f=fopen("a.txt",”rb”); - f=fopen("a.txt",”r+t”); * f=fopen("a.txt",”r+b”); Câu 125: Chương trình sau dùng để làm gì? #include int main(){ FILE *stream=fopen("a.txt",’r’); return 0; } - Mở tập tin "a.txt" ở chế độ chỉ đọc - Mở tập tin "a.txt" ở chế độ chỉ ghi - Mở tập tin "a.txt" ở chế độ ghi bổ sung * Lỗi biên dịch Câu 126: Xác định hằng số không hợp lệ được dùng trong hàm fseek? - SEEK_SET - SEEK_CUR * SEEK_BEG - SEEK_END Câu 127: Hãy cho biết nội dung của tập tin “a.txt” sau khi thực thi chương trình sau? #include int main() { int a[]={1, 2, 3}; FILE *fp; fp = fopen("a.txt","wt"); for(int i=0; i<3; i++) fprintf(fp, "%d", a[i]); return 0; } * 123 - 012 - 12 - Rỗng Câu 128: Hãy cho biết nội dung của tập tin “a.txt” sau khi thực thi chương trình sau? #include int main() { int a[][3]={{1,2,3}, {4,5,6}}; int m=2, n=3; FILE *fp; fp = fopen("a.txt","wt"); for(int i=0; i int main() { int *p; int n; FILE *fp; fp = fopen("d:\\a.txt","rt"); fscanf(fp,"%d", &n); p=(int*)malloc(n*sizeof(int)); ………… return 0; } - for(int i=0; i int main() { int *p; int m, n; FILE *fp; fp = fopen("d:\\a.txt","rt"); fscanf(fp,"%d", &m); fscanf(fp,"%d", &n); p=(int*)malloc(m*n*sizeof(int)); ………… return 0; } - for(int j=0; j int main () { FILE *fp; fp = fopen("NOTES.TXT","r+"); return 0; } - Mở tập tin "NOTES.TXT" ở chế độ chỉ đọc - Mở tập tin "NOTES.TXT" ở chế độ chỉ ghi - Mở tập tin "NOTES.TXT" ở chế độ ghi bổ sung * Mở tập tin "NOTES.TXT" ở chế độ đọc và ghi Câu 133: Tập tin nào sẽ bị đóng thông qua hàm fclose() trong chương trình sau? #include int main(){ FILE *fs,*ft,*fp; fp = fopen("ABC","r"); fs = fopen("ACD","r"); ft = fopen("ADF","r"); fclose(fp, fs, ft); return 0; } - "ABC" - "ACD" - "ADF" * Trả về lỗi Câu 134: Hàm nào dưới đây chỉ dùng để chuyển con trỏ về vị trí đầu tập tin? - fscanf(); * rewind(); - ftell(); - seek(); Câu 135: Hãy cho biết nội dung của tập tin “a.txt” sau khi thực thi chương trình sau? #include int main() { int a[][3]={{1,2,3}, {4,5,6}}; int m=2, n=3; FILE *fp; fp = fopen("a.txt","wt"); fprintf(fp, “Xuat mang: ”); for(int i=0; i int main () { printf("Hello"); main(); return 0; } - 0 - 1 - 100 * Không giới hạn cho đến khi tràn bộ nhớ Câu 137: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int factorial(unsignedint i) { if(i <=1) return1; else return i * factorial(i -1); } int main() { int i =5; printf("%d", factorial(i)); return 0; } - 5 * 120 - 1 - 20 Câu 138: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int pow(int x, int n) { if(n== 0) return 1; else return x*pow(x, n-1); } int main() { int i, k=0, n=2; for(i=0; i<5; i++) k=k+ pow(n,i); printf("%d", k); return 0; } - 30 * 31 - 0 - 10 Câu 139: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int fibonaci(int i) { if(i <= 1) return 1; return fibonaci(i-1) + fibonaci(i-2); } int main() { int i; for (i = 0; i < 5; i++) { printf("%3d", fibonaci(i)); } return 0; } * 1 1 2 3 5 - 0 1 2 3 4 - 1 2 3 5 8 - 1 1 1 1 1 Câu 140: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int tinhF(int n); int tinhG(int n); int main() { printf("%d",tinhF(2)); return 0; } int tinhF(int n) { if(n==0) return 1; else return tinhF(n-1)+ tinhG(n-1); } int tinhG(int n) { if(n==0)return 0; else return 3*tinhF(n-1)+ 2*tinhG(n-1); } - 1 - 2 - 3 * 4 Câu 141: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int tinhF(int n); int tinhG(int n); int main() { printf("%d",tinhG(2)); return 0; } int tinhF(int n) { if(n==0)return 1; else return tinhF(n-1)+ tinhG(n-1); } int tinhG(int n) { if(n==0)return 0; else return 3*tinhF(n-1)+ 2*tinhG(n-1); } - 4 - 5 * 9 - 3 Câu 142: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int f(int a[], int n) {          if(n==0) return 0; int kq=f(a,n-1); if(*(a+n-1)%2==0)     kq++; return kq; } int main() { int a[]={1, 2, 7, 4, 6, 9, 5}; printf(“%d”, f(a,7)); return 0; } - 7 - -1 * 3 - 4 Câu 143: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int f(int a[], int n) { if(n<=0)           return -1; if(n==1)           return a[0]; int kq=f(a,n-1); if(a[n-1]>kq) kq=a[n-1]; return kq; } int main() { int a[]={1, 2, 7, 4, 6, 9, 5}; printf(“%d”,f(a,7)); return 0; } - 7 - -1 - 1 * 9 Câu 144: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void f() { static int i = 3; printf("%d ", i); if(--i) f(); } int main() { f(); return 0; } - 3 2 1 0 * 3 2 1 - 3 3 3 - Lỗi biên dịch Câu 145: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int max(int a[], int n) { int id; if(n<1) return -1; else if(n==1) return 0; else { id=max(a, n-1); if(a[n-1] > a[id]) id=n-1; return id; } } void f(int a[], int n) { if(n<=1) return; else      if(n>1) { int id=max(a, n-1); if(a[id]>a[n-1]) { int t=a[id]; a[id]=a[n-1]; a[n-1]=t; } f(a, n-1); } } int main() { int a[]={1, 2, 7, 4, 6, 9, 5}; f(a,7); for(int i=0; i<7; i++) printf(“%3d”, a[i]); return 0; } - 1 2 7 4 6 9 5 - -1 * 1 2 4 5 6 7 9 - 9 7 6 5 4 2 1 Câu 146: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì hàm sum được thực thi bao nhiêu lần? #include int sum(int n) { if(n==0) return 0; else return (sum(n-1)+n);                                                                     return (tinh_Tong(n-1)+n); } int main() { int n=5; sum(n); return 0; } - 0 - 1 - 5 * 6 Câu 147: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include unsigned int f(unsigned int a, unsigned int b) { if(a>b)          return f(a-b, b); else if(b>a) return f(a, b-a); else return a; } int main() { printf(“%d”, f(12, 8)); return 0; } - 12 - 8 * 4 - 1 Câu 148: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void f(int *a, int n) {          if(n==0) return ; else {          f(a,n-1); printf("%3d", *(a+n-1)); } } int main() { int a[]={1, 2, 3, 4, 5}; f(a,5); return 0; } - 5 * 1 2 3 4 5 - 5 4 3 2 1 - Không xuất ra gì cả Câu 149: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int f(int a[], int n) {          if(n<1) return; else if(n==1)   return a[0]; int kq=f(a,n-1); if(a[n-1] int tontai(int a[], int n, int x) { for(int i=0; i1) { int kq=f(a, n-1); if(tontai(a, n-1, a[n-1])) return kq; return kq+1; } } int main() { int a[]={19, 7, 7, 21,23, 7, -5}; printf(“%d”,f(a,7)); return 0; } - 7 - 1 * 5 - 6